import ToastTmp from './toast.vue'

let Toast = {} // 定义插件对象
Toast.install = function (Vue, options) { // Vue 的install 方法,用于定义Vue插件
  // 如果toast 还在则不执行
  if (document.getElementsByClassName('toast-box').length) {
    return
  }
  let ToastTpl = Vue.extend(ToastTmp) // 创建Vue 构造器
  let $vm = new ToastTpl() // 实例化 Vue 实例
  let tpl = $vm.$mount().$el
  document.body.appendChild(tpl)
  Vue.prototype.$toast = { // 在Vue 原型上添加实例方法， 可以全局调用
    show(options) { // 控制toast 显示的方法
      if (typeof options === 'string') { // 对参数进行判断
        $vm.text = options // 传入props
      } else if (typeof options === 'object') {
        Object.assign($vm, options) // 合并参数与实例
      }
      $vm.isShow = false
      setTimeout(() => {
        document.body.removeChild(tpl)
        $vm.isShow = false
      }, this.time)
    }
  }
}
export default Toast
